package com.nlscan.qdkit.ui.publico.config

import com.nlscan.qdkit.ui.publico.BuildConfig

/**
 * APP 配置
 * Created by dyp on 2018/1/25.
 * todo
 */
object PublicoConfig {

    /**********************************************************************************************
     * UI定制相关
     *
     **********************************************************************************************/

    /**
     * 顶部状态栏是否是黑色字体 还需修改 publico_include_title 中的属性
     */
    const val APP_IS_TITLE_DARK_FONT = true

    /**
     * 自适应横竖屏，手机竖屏，手表横屏，平板自适应
     * -- 当前手机默认强制竖屏
     */
    const val ADJUST_TABLET_ORIENTATION_ENABLE = true


    /**********************************************************************************************
     * 业务向使能
     *
     **********************************************************************************************/




    /**
     * 全局背景是否为白色底色
     * -- 白色底色时，若标题栏透明，左侧返回按钮未点击颜色需适配成黑色
     */
    @JvmField
    var IS_WHITE_BG = false

    var IS_FORBID_ACCESS_FINE_LOCATION = false

    /**********************************************************************************************
     * 定制项相关 END
     */
    @JvmField
    var debug = BuildConfig.DEBUG


    //DEBUG模式下默认不加密
    const val IS_ENCRYPT_DB_IN_DEBUG_MODE = false

    /***************************************************
     * Qv自研云sdk 相关 BEGIN
     */
    var QV_SERVER_PORT = 443
    const val QV_APP_AUTH_KEY = "0" //认证服务器 认证key,第三方用户模式下使用, 该值不能为空

    //鱼眼的key
    const val QV_FISH_EYE_APP_KEY =
        "sxiCCkouo4evZRmuTE09OsY5LSr74yDdMayEuMrz9yIw4Mt3pf2wrH4qfAFyVFeL/A0ka71JitHsTwhPPtaZ8w=="
    /**
     * Qv 报警推送相关
     */
    /****************************************************
     * Qv自研云sdk 相关 END
     */
    /****************************************************
     * 播放参数配置相关 BEGIN
     */
    /*** 预览通道数上限  */
    const val PREVIEW_MAX_CHANNEL_NUM = 64

    /*** 回放通道数上限  */
    const val PLAYBACK_MAX_CHANNEL_NUM = 4

    //App可配置的设备类型, 当列表中只有一项时, 将会跳过设备类型选择界面
//    var APP_DEVICE_CONFIG_SUPPORT: IntArray

    //设备配置超时时间, 不得低于90秒
    const val DEVICE_ADD_CONFIG_TIMEOUT = 150
    var IP_DEVICE_DEFAULT_STREAM_PORT = 34567
    const val IP_DEVICE_DEFAULT_CGI_HTTP_PORT = 80
    const val IP_DEVICE_DEFAULT_CGI_HTTPS_PORT = 443
    /****************************************************
     * Device 相关 END
     */
    /****************************************************
     * Face 相关 BEGIN
     */
    const val FACE_INFO_NUM_PER_PAGE = 15 // 每一页人脸信息的数量
    /****************************************************
     * Face 相关 END
     */
    /****************************************************
     * Alarm 相关 BEGIN
     */
    const val ALARM_NUM_PER_PAGE = 15 // 每一页报警记录的数量
    /****************************************************
     * Alarm 相关 END
     */
    /****************************************************
     * Web 相关 BEGIN
     */
    //隐私协议地址
    var ST_PRIVACY_POLICY_URL = "https://web.qvcloud.net/PrivacyPolicy/public/PrivacyPolicy.html"
    var ST_TERMS_SERVICE_URL = "https://web.qvcloud.net/TermsService/public/TermsService.html"
    var ST_HELP_URL = "https://web.qvcloud.net:443/Help/vEyePro.html"
    const val APP_REPORT_ADDRESS = "qvappdeveloper@gmail.com"
    /****************************************************
     * Web 相关 END
     */
    /****************************************************
     * UI相关 BEGIN
     */
    /****************************************************
     * UI相关 END
     */
    //远程下载
    /**
     * 下载视频文件的最短时间, 单位秒
     */
    const val DOWNLOAD_VIDEO_MIN_TIME = 10
    const val DOWNLOAD_VIDEO_MAX_TIME = 30 * 60

    // 输入限制
    const val DEFAULT_INPUT_MAX_BYTES = 60 // 默认最大字节数
    const val DEVICE_NAME_MAX_BYTES = 60
    const val APP_REGISTER_PASSWORD_MAX_LENGTH = 16 // 注册时允许的密码长度
    const val APP_NEW_PASSWORD_PROTECT_MAX_LENGTH = 6

    // 兼容iot迁移新增
    const val PASSWORD_MAX_LENGTH = 16 //设备校验码(密码)最长的长度
    const val PASSWORD_MIN_LENGTH = 4 //设备校验码(密码)最短的长度

    // 要过滤的字符
    const val DEFAULT_INPUT_FILTER_REGEX = "[<>]"

    // 账号（邮箱或手机号）
    const val APP_ACCOUNT_FILTER_REGEX = "[<>\\s]"
    const val DEVICE_UID_FILTER_REGEX = "[<>\\s]"
    const val DEVICE_NAME_FILTER_REGEX = "[<>]"

    // debug temp
    var DEBUG_FACE = false
    var FACE_PHOTO_PATH = "facePhoto/face.jpg"
    const val ACCOUNT_PASSWORD_MAX_LENGTH = 16 //帐号密码最长的长度
    const val ACCOUNT_PASSWORD_MIN_LENGTH = 6 //账号密码最短的长度

    /************************ DEBUG 相关 BEGIN  */
    /************************ DEBUG 相关 END    */

    // TODO: 临时存放


}